// 静态属性属于类本省而不属于实例
// 每个 实例 想要 访问 这个 属性 的 时候， 都要 在 origin 前面 加 上类 名。这里 我们 使用 Grid. 来访 问 静态 属性：
class Grid {
  static origin = { x: 0, y: 0 }
  // 计算屏幕上一点到origin的距离
  calculateDistance(point: { x: number, y: number }) {
    let x = point.x - Grid.origin.x
    let y = point.y - Grid.origin.y
    return Math.sqrt(x * x + y * y) / this.scale // 直角三角形满足 勾股定理：a²+b²=c² abc为边长
  }
  constructor(public scale: number) {}
}
let grid1 = new Grid(1.0)
console.log(grid1.calculateDistance({ x: 3, y: 4 }));  // 5
console.log(Grid.origin); // {x: 0, y: 0}
